/* eslint-disable @typescript-eslint/no-unused-vars */
import { request } from '@umijs/max';

export const loadDoctorsInfoAPI = async (
  // 第一个参数 params 查询表单和 params 参数的结合
  // 第一个参数中一定会有 pageSize 和  current ，这两个参数是 antd 的规范
  params: any & {
    pageSize: number;
    current: number;
  },
  sort: any,
  filter: any,
) => {
  // console.log(params);
  const { current, pageSize, ...other } = params;
  // 这里需要返回一个 Promise,在返回之前你可以进行数据转化
  // 如果需要转化参数可以在这里进行修改
  const msg = await request('/admin/doctors', {
    params: {
      ...other,
      page: current,
      per: pageSize,
    },
  });
  // console.log(msg);
  // return;
  return {
    data: msg.data.list,
    // success 请返回 true，
    // 不然 table 会停止解析数据，即使有数据
    success: true,
    // 不传会使用 data 的长度，如果是分页一定要传
    total: msg.data.total,
  };
};

/**
 * 新增
 * @param data
 * @returns
 */
export const addDoctorsAPI = (data: any) => request('/admin/doctors', { method: 'POST', data });

/**
 * 获取所有医生标题信息
 * @returns
 */
export const loadDoctorsTitleAPI = () =>
  request('/admin/doctor_titles', {
    params: {
      per: 1111,
    },
  });

/**
 * 根据 id 修改医生信息
 * @param id
 * @returns
 */
export const modifyDoctorsInfoAPI = (id: string, data: any) =>
  request(`/admin/doctors/${id}`, {
    method: 'PATCH',
    data,
  });

/**
 * 获取对应 id 的医生数据
 * @param id
 * @returns
 */
export const loadDoctorsByIdAPI = (id: string) => request(`/admin/doctors/${id}`);

/**
 * 删除对应 id 的医生数据
 * @param id
 * @returns
 */
export const delDoctorsByIdAPI = (id: string) =>
  request(`/admin/doctors/${id}`, {
    method: 'DELETE',
  });

/**
 * 批量删除
 * @param ids 以逗号连接的字符串
 * @returns
 */
export const delManyDoctorsIdAPI = (ids: string) =>
  request('/admin/doctors/remove_many', {
    method: 'DELETE',
    params: {
      ids,
    },
  });
